#include <stdio.h>
int mloopsNum(int seq_len, int M_TILE_SIZE)
{
    // m维度总循环次数
    int m_loops = (seq_len + M_TILE_SIZE - 1) / M_TILE_SIZE;

    // n维度总循环次数
    int n_loops = m_loops;

    // 每个线程的l2的缓存的宽度
    int l2_w = n_loops * M_TILE_SIZE;

    while (l2_w * m_loops * M_TILE_SIZE >= 524288)
    {
        m_loops = m_loops - 1;
    }
    return m_loops;
}

int main()
{
    printf("%d", mloopsNum(1056, 32));
}